/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package it.apuliait.service.persistence;

import com.liferay.portal.service.persistence.BasePersistence;

import it.apuliait.model.Trasmittente;

/**
 * The persistence interface for the trasmittente service.
 *
 * <p>
 * Caching information and settings can be found in <code>portal.properties</code>
 * </p>
 *
 * @author Donatello
 * @see TrasmittentePersistenceImpl
 * @see TrasmittenteUtil
 * @generated
 */
public interface TrasmittentePersistence extends BasePersistence<Trasmittente> {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this interface directly. Always use {@link TrasmittenteUtil} to access the trasmittente persistence. Modify <code>service.xml</code> and rerun ServiceBuilder to regenerate this interface.
	 */

	/**
	* Returns the trasmittente where userId = &#63; or throws a {@link it.apuliait.NoSuchTrasmittenteException} if it could not be found.
	*
	* @param userId the user ID
	* @return the matching trasmittente
	* @throws it.apuliait.NoSuchTrasmittenteException if a matching trasmittente could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente findByTrasmittenteByUserId(
		long userId)
		throws com.liferay.portal.kernel.exception.SystemException,
			it.apuliait.NoSuchTrasmittenteException;

	/**
	* Returns the trasmittente where userId = &#63; or returns <code>null</code> if it could not be found. Uses the finder cache.
	*
	* @param userId the user ID
	* @return the matching trasmittente, or <code>null</code> if a matching trasmittente could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente fetchByTrasmittenteByUserId(
		long userId) throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the trasmittente where userId = &#63; or returns <code>null</code> if it could not be found, optionally using the finder cache.
	*
	* @param userId the user ID
	* @param retrieveFromCache whether to use the finder cache
	* @return the matching trasmittente, or <code>null</code> if a matching trasmittente could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente fetchByTrasmittenteByUserId(
		long userId, boolean retrieveFromCache)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes the trasmittente where userId = &#63; from the database.
	*
	* @param userId the user ID
	* @return the trasmittente that was removed
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente removeByTrasmittenteByUserId(
		long userId)
		throws com.liferay.portal.kernel.exception.SystemException,
			it.apuliait.NoSuchTrasmittenteException;

	/**
	* Returns the number of trasmittentes where userId = &#63;.
	*
	* @param userId the user ID
	* @return the number of matching trasmittentes
	* @throws SystemException if a system exception occurred
	*/
	public int countByTrasmittenteByUserId(long userId)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Caches the trasmittente in the entity cache if it is enabled.
	*
	* @param trasmittente the trasmittente
	*/
	public void cacheResult(it.apuliait.model.Trasmittente trasmittente);

	/**
	* Caches the trasmittentes in the entity cache if it is enabled.
	*
	* @param trasmittentes the trasmittentes
	*/
	public void cacheResult(
		java.util.List<it.apuliait.model.Trasmittente> trasmittentes);

	/**
	* Creates a new trasmittente with the primary key. Does not add the trasmittente to the database.
	*
	* @param trasmittenteId the primary key for the new trasmittente
	* @return the new trasmittente
	*/
	public it.apuliait.model.Trasmittente create(long trasmittenteId);

	/**
	* Removes the trasmittente with the primary key from the database. Also notifies the appropriate model listeners.
	*
	* @param trasmittenteId the primary key of the trasmittente
	* @return the trasmittente that was removed
	* @throws it.apuliait.NoSuchTrasmittenteException if a trasmittente with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente remove(long trasmittenteId)
		throws com.liferay.portal.kernel.exception.SystemException,
			it.apuliait.NoSuchTrasmittenteException;

	public it.apuliait.model.Trasmittente updateImpl(
		it.apuliait.model.Trasmittente trasmittente)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the trasmittente with the primary key or throws a {@link it.apuliait.NoSuchTrasmittenteException} if it could not be found.
	*
	* @param trasmittenteId the primary key of the trasmittente
	* @return the trasmittente
	* @throws it.apuliait.NoSuchTrasmittenteException if a trasmittente with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente findByPrimaryKey(long trasmittenteId)
		throws com.liferay.portal.kernel.exception.SystemException,
			it.apuliait.NoSuchTrasmittenteException;

	/**
	* Returns the trasmittente with the primary key or returns <code>null</code> if it could not be found.
	*
	* @param trasmittenteId the primary key of the trasmittente
	* @return the trasmittente, or <code>null</code> if a trasmittente with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public it.apuliait.model.Trasmittente fetchByPrimaryKey(long trasmittenteId)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns all the trasmittentes.
	*
	* @return the trasmittentes
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<it.apuliait.model.Trasmittente> findAll()
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns a range of all the trasmittentes.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.apuliait.model.impl.TrasmittenteModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
	* </p>
	*
	* @param start the lower bound of the range of trasmittentes
	* @param end the upper bound of the range of trasmittentes (not inclusive)
	* @return the range of trasmittentes
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<it.apuliait.model.Trasmittente> findAll(int start,
		int end) throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns an ordered range of all the trasmittentes.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.apuliait.model.impl.TrasmittenteModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
	* </p>
	*
	* @param start the lower bound of the range of trasmittentes
	* @param end the upper bound of the range of trasmittentes (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of trasmittentes
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<it.apuliait.model.Trasmittente> findAll(int start,
		int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Removes all the trasmittentes from the database.
	*
	* @throws SystemException if a system exception occurred
	*/
	public void removeAll()
		throws com.liferay.portal.kernel.exception.SystemException;

	/**
	* Returns the number of trasmittentes.
	*
	* @return the number of trasmittentes
	* @throws SystemException if a system exception occurred
	*/
	public int countAll()
		throws com.liferay.portal.kernel.exception.SystemException;
}